package br.com.decsoft.lv.dao;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;

import br.com.decsoft.lv.model.Produto;
import br.com.decsoft.lv.jdbc.ConnectionFactory;

public class ProdutoDAO {
	private Connection conn = null;
	private Statement stm = null;
	
	public ProdutoDAO() throws SQLException {
		this.conn = ConnectionFactory.getConnection();
	}

	@SuppressWarnings("unchecked")
	public ArrayList listar(String sql) throws Exception {
		ArrayList<Produto> lista = null;
		try {
			String clausula = "select PRODICOD,PRODA60DESCR,PRODA60REFER,PRODN3VLRVENDA from PRODUTO " + sql;
			//System.out.println(clausula);
			
			stm = conn.createStatement();
			ResultSet rs = stm.executeQuery(clausula);
			lista = new ArrayList<Produto>();
			while (rs.next()) {
				Produto produto = new Produto();
				
				if (rs.getString("PRODICOD") != null)
					produto.setCodigo(rs.getInt("PRODICOD"));
				if (rs.getString("PRODA60DESCR") != null)
					produto.setDescricao(rs.getString("PRODA60DESCR"));
				if (rs.getString("PRODA60REFER") != null)
					produto.setReferencia(rs.getString("PRODA60REFER"));
				if (rs.getString("PRODN3VLRVENDA") != null)
					produto.setValorVenda(rs.getDouble("PRODN3VLRVENDA"));
				
				lista.add(produto);
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			stm.close();
			conn.close();
		}
		return lista;
	}
	
}